package com.stud.common.enums;

/**
 * @author Stud
 * @title XXXXX
 * @desription XXXXX
 * @data 2022-09-08 18:52
 */
public enum FileBusinessType {

    //---------------------------------小程序------------------------------------
    /**
     * 整改结果图片
     */
    APP_RECTIFY_RESULT_IMAGE("APP_RECTIFY_RESULT_IMAGE", "APP_RECTIFY_RESULT_IMAGE/"),


    /**
     * app 巡检单全部图片
     */
    APP_PATROL_ALL_IMAGE("APP_PATROL_ALL_IMAGE", "APP_PATROL_ALL_IMAGE/"),

    /**
     * app 用户考勤头像
     */
    APP_ATTENDANCE_HEAD_IMAGE("APP_ATTENDANCE_HEAD_IMAGE", "APP_ATTENDANCE_HEAD_IMAGE/"),

    /**
     * app 用户考勤备案照片
     */
    APP_RECORD_IMAGE("APP_RECORD_IMAGE", "APP_RECORD_IMAGE/"),

    /**
     * app 用户资格证照片
     */
    APP_CERTIFICATION_IMAGE("APP_CERTIFICATION_IMAGE", "APP_CERTIFICATION_IMAGE/"),

    //---------------------------------小程序------------------------------------

    //---------------------------------云上办公-工程建设------------------------------------
    /**
     * 环保在线监测和视频监控信息系统建设方案
     */
    OA_CLOUD_PRO_CON_EMS("OA_CLOUD_PRO_CON_EMS", "OA_CLOUD_PRO_CON_EMS/"),
    /**
     * 安装运维合同
     */
    OA_CLOUD_PRO_CON_IOC("OA_CLOUD_PRO_CON_IOC", "OA_CLOUD_PRO_CON_IOC/"),
    /**
     * 现场网络运维商合同
     */
    OA_CLOUD_PRO_CON_NOPC("OA_CLOUD_PRO_CON_NOPC", "OA_CLOUD_PRO_CON_NOPC/"),
    /**
     * 立项批文文号
     */
    OA_CLOUD_PRO_CON_ADC("OA_CLOUD_PRO_CON_ADC", "OA_CLOUD_PRO_CON_ADC/"),
    /**
     * 其他
     */
    OA_CLOUD_PRO_CON_OTHER("OA_CLOUD_PRO_CON_OTHER", "OA_CLOUD_PRO_CON_OTHER/"),
    /**
     * 施工公示牌照片
     */
    OA_CLOUD_PRO_CON_CS("OA_CLOUD_PRO_CON_CS", "OA_CLOUD_PRO_CON_CS/"),
    /**
     * 视频
     */
    OA_CLOUD_PRO_CON_VIDEO("OA_CLOUD_PRO_CON_VIDEO", "OA_CLOUD_PRO_CON_VIDEO/"),
    /**
     * 现场照片
     */
    OA_CLOUD_PRO_CON_SP("OA_CLOUD_PRO_CON_SP", "OA_CLOUD_PRO_CON_SP/"),

    //---------------------------------云上办公-工程建设------------------------------------

    //---------------------------------云上办公-混凝土------------------------------------
    /**
     * 混凝土搅拌站视频和称重系统接入实施方案
     */
    OA_CLOUD_CM_CWS("OA_CLOUD_CM_CWS", "OA_CLOUD_CM_CWS/"),
    /**
     * 施工平面图提供需求
     */
    OA_CLOUD_CM_CP("OA_CLOUD_CM_CP", "OA_CLOUD_CM_CP/"),
    /**
     * 称重和视频设备安装、运维合同
     */
    OA_CLOUD_CM_CWOC("OA_CLOUD_CM_CWOC", "OA_CLOUD_CM_CWOC/"),
    /**
     * 互联网专线网络运维商合同
     */
    OA_CLOUD_CM_NOC("OA_CLOUD_CM_NOC", "OA_CLOUD_CM_NOC/"),
    /**
     * 现场照片
     */
    OA_CLOUD_CM_SP("OA_CLOUD_CM_SP", "OA_CLOUD_CM_SP/"),
    //---------------------------------云上办公-混凝土------------------------------------

    //---------------------------------云上办公-中止施工------------------------------------
    /**
     * 中止施工备案
     */
    OA_CLOUD_SUSPEND_FILE("OA_CLOUD_SUSPEND_FILE", "OA_CLOUD_SUSPEND_FILE/"),
    //---------------------------------云上办公-中止施工------------------------------------

    //---------------------------------云上办公-恢复施工------------------------------------
    /**
     * 恢复施工备案
     */
    OA_CLOUD_RESUME_FILE("OA_CLOUD_RESUME_FILE", "OA_CLOUD_RESUME_FILE/"),
    //---------------------------------云上办公-恢复施工------------------------------------

    //---------------------------------云上办公-国有土地房屋征收------------------------------------
    /**
     * 安装运维合同
     */
    OA_CLOUD_LHE_IOC("OA_CLOUD_LHE_IOC", "OA_CLOUD_LHE_IOC/"),

    /**
     * 征收范围相关文件
     */
    OA_CLOUD_LHE_ES("OA_CLOUD_LHE_ES", "OA_CLOUD_LHE_ES/"),

    /**
     * 现场设备照片
     */
    OA_CLOUD_LHE_SP("OA_CLOUD_LHE_SP", "OA_CLOUD_LHE_SP/"),
    //---------------------------------云上办公-国有土地房屋征收------------------------------------


    //---------------------------------质量管控-------------------------------------
    /**
     * 检查附件
     */
    QUALITY_CONTROL_CHECK_FILE("QUALITY_CONTROL_CHECK_FILE", "QUALITY_CONTROL_CHECK_FILE/"),
    /**
     * 整改结果附件
     */
    QUALITY_CONTROL_RECTIFY_RESULT_FILE("QUALITY_CONTROL_RECTIFY_RESULT_FILE", "QUALITY_CONTROL_RECTIFY_RESULT_FILE/"),

    //---------------------------------质量管控-------------------------------------


    /**
     * 富文本编辑器图片
     */
    EDITOR_IMAGE("EDITOR_IMAGE", "EDITOR_IMAGE/"),

    /**
     * 项目形象照
     */
    PROJECT_HEAD("PROJECT_HEAD", "PROJECT_HEAD/"),

    /**
     * 项目图片
     */
    PROJECT_IMAGE("PROJECT_IMAGE", "PROJECT_IMAGE/"),

    /**
     * 项目形象照
     */
    PROJECT_VIDEO("PROJECT_VIDEO", "PROJECT_VIDEO/"),

    /**
     * CAR_WASH
     */
    CAR_WASH("CAR_WASH", "CAR_WASH/"),

    /**
     * 法律法规
     */
    LAW("LAW", "LAW/", false),

    /**
     * 裸土覆盖
     */
    BARE_SOIL_COVERAGE("BARE_SOIL_COVERAGE", "BARE_SOIL_COVERAGE/", false),

    /**
     * 第三方数据对接企业营业执照
     */
    EXTERNAL_DATA_CORP_CERTIFICATE("EXTERNAL_DATA_CORP_CERTIFICATE", "EXTERNAL_DATA_CORP_CERTIFICATE/", false),

    /**
     * GEO_JSON地图数据
     */
    GEO_JSON("GEO_JSON", "GEO_JSON/"),

    /**
     * 流程任务实例附件
     */
    WORKFLOW_TASK("WORKFLOW_TASK", "WORKFLOW_TASK/"),

    /**
     * 流程记录实例附件(通过流程任务实例的附件再次关联,不会自主上传附件)
     */
    WORKFLOW_TASK_LOG("WORKFLOW_TASK_LOG", null),
    ;


    private final String code;
    private final String folder;

    /**
     * 是否可以关联多个文件
     */
    private final boolean multi;

    FileBusinessType(String code, String folder, boolean multi) {
        this.code = code;
        this.folder = folder;
        this.multi = multi;
    }

    FileBusinessType(String code, String folder) {
        this.code = code;
        this.folder = folder;
        this.multi = true;
    }

    public String getCode() {
        return code;
    }

    public String getFolder() {
        return folder;
    }

    public boolean isMulti() {
        return multi;
    }
}
